Evolving Software with Extensible Modules
نویسنده
چکیده
We present the programming language Keris, an extension of Java with explicit support for software evolution. Keris introduces extensible modules as the basic building blocks for software. Modules are composed hierarchically revealing explicitly the architecture of systems. A distinct feature of the module design is that modules do not get linked manually. Instead, the wiring of modules gets infered. The module assembly and refinement mechanism of Keris is not restricted to the unanticipated extensibility of atomic modules. It also allows to extend fully linked systems by replacing selected submodules with compatible versions without needing to re-link the full system. Extensibility is type-safe and non-invasive; i.e. the extension of a module preserves the original version and does not require access to source code.
منابع مشابه
WANDA: A common ground for forensic handwriting examination and writer identification
This paper presents the WANDA Workbench, which is an open framework for electronic data processing. The framework provides generic interfaces for 'plug-in' applications for graphical user interfaces (client desktop with client plug-ins) and processing modules (server with server plug-ins). The applied plug-in concept allows for the functional extension of the workbench without changing the fram...
متن کاملA Highly-Extensible, XML-Based Architecture Description Language
Software architecture research focuses on models of software architectures as specified in architecture description languages (ADLs). As research progresses in specific areas of software architectures, more and more architectural information is created. Ideally, this information can be stored in the model. An extensible modeling language is crucial to experimenting with and building tools for n...
متن کاملSancus: Low-cost Trustworthy Extensible Networked Devices with a Zero-software Trusted Computing Base
In this paper we propose Sancus, a security architecture for networked embedded devices. Sancus supports extensibility in the form of remote (even third-party) software installation on devices while maintaining strong security guarantees. More specifically, Sancus can remotely attest to a software provider that a specific software module is running uncompromised, and can authenticate messages f...
متن کاملAn Extensible Query Execution Engine for Supporting New Query Execution Models
Query processing in traditional Database Management Systems (DBMS) has been extensively studied in the literature and adopted in industry. Such success is, in part, due to the performance of their Query Execution Engines (QEE) for supporting the execution of traditional queries. With the advent of the web and its semi-structured data model, new query scenarios were created, suggesting new execu...
متن کاملAndroid Security Framework: Enabling Generic and Extensible Access Control on Android
We introduce the Android Security Framework (ASF), a generic, extensible security framework for Android that enables the development and integration of a wide spectrum of security models in form of codebased security modules. The design of ASF reflects lessons learned from the literature on established security frameworks (such as Linux Security Modules or the BSD MAC Framework) and intertwines...
متن کامل